import jieba
import matplotlib.pyplot as plt
from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator

# 打开文件
text_from_file = open('text.txt',encoding='utf-8').read()
# 中文分词
wordlist_after_jieba = jieba.cut(text_from_file, cut_all=True)
# sep’.join（seq）以sep作为分隔符，将seq所有的元素合并成一个新的字符串
txt = " ".join(wordlist_after_jieba)
# 背景图片
backgroud_Image = plt.imread('heart.jpg')
print('加载图片成功！')
# 生成对象
'''设置词云样式'''
wc = WordCloud(
    background_color=None,   # 设置背景颜色
    mode="RGBA",
    mask=backgroud_Image,       # 设置背景图片
    width=600,
    height=600,
    font_path="./Uranus_Pixel_11Px.ttf",   # 若是有中文的话，这句代码必须添加，不然会出现方框，不出现汉字
    max_words=2000,         # 设置最大现实的字数
    stopwords=STOPWORDS,    # 设置停用词
    max_font_size=150,      # 设置字体最大值
    random_state=30         # 设置有多少种随机生成状态，即有多少种配色方案
)
my_wordcloud = wc.generate(txt)
# 显示词云
plt.imshow(my_wordcloud)
# 是否显示x轴、y轴下标
plt.axis("off")
plt.show()
# 保存文件
my_wordcloud.to_file('wordcloud.png')
